

"""
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep

driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://126.com/')

# 切换iframe- id是变化的 不能直接使用id切换 需要进行元素定位 再切换
iframe_ele = driver.find_element(By.XPATH,'//iframe[contains(@id,"x-URS-iframe")]')
driver.switch_to.frame(iframe_ele)  # iframe切换

# 点击密码登录link --在iframe子页面里 需要先进行iframe切换
driver.find_element(By.XPATH,'//input[@name="email"]').send_keys("test321456")
driver.find_element(By.NAME,'password').send_keys("test123")
sleep(2)

# 切换回主页面  进行元素定位 - 一次性回到最原始页面
# driver.switch_to.default_content()
driver.find_element(By.ID,'navDlAppBtn').click() # 点击主页面的 手机app下载按钮

sleep(2)
driver.close()
"""

# 练习

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://126.com/")

frame_else = driver.find_element(By.XPATH,"//iframe[contains(@id,'x-URS-iframe')]")
driver.switch_to.frame(frame_else)

driver.find_element(By.XPATH,"//input[@data-placeholder='邮箱账号或手机号码']").send_keys("test")
driver.find_element(By.XPATH,"//input[@autocomplete='new-password']").send_keys("111111")
driver.find_element(By.XPATH,"//input[@id='un-login']").click()
driver.find_element(By.XPATH,"//a[@id='dologin']").click()

time.sleep(5)

# 总结：

# 有的时候frame嵌套页面 无法直接使用id定位，可能是因为id是变化的，所有先定位，然后在切换
# frame_else = driver.find_element(By.XPATH,"//iframe[contains(@id,'x-URS-iframe')]")
# driver.switch_to.frame(frame_else)  注意：这里面不能加引号 否则报错 找不到元素。